Skip to main content
This module defines the schemas and interfaces used by the Weave trace server.

CallSchema

The schema for a Call object in Weave.

Field Descriptions

Core Fields

  • id: UUID that uniquely identifies this call
  • project_id: The W&B project this call belongs to (format: “entity/project”)
  • op_name: The name of the operation being called (can be a reference)
  • display_name: Optional human-readable name for the call

Trace Hierarchy

  • trace_id: Groups related calls into a single trace
  • parent_id: Links child calls to their parent, forming a tree structure

Timing

  • started_at: ISO 8601 timestamp when execution began
  • ended_at: ISO 8601 timestamp when execution completed
  • deleted_at: If set, indicates the call was soft-deleted

Data

  • inputs: Dictionary of input parameters passed to the function
  • output: The return value of the function (if successful)
  • exception: Error message if the call failed
  • attributes: User-defined metadata (read-only during execution)
  • summary: Post-execution metrics and computed values

Integration

  • wb_user_id: Links to W&B user who initiated the call
  • wb_run_id: Links to W&B run for experiment tracking

CallsFilter

Filter criteria for querying calls.

Usage Example

Query Expressions

Advanced filtering using query expressions:

Calculated Fields

The following fields are calculated by the server:

Status

Derived from the presence of exception and ended_at:
  • "running": Call has started but not ended
  • "success": Call ended without exception
  • "error": Call ended with exception

Duration

Calculated as the difference between ended_at and started_at in seconds.

Costs

Aggregated from cost tracking calls. Includes:
  • Token usage
  • API costs
  • Custom cost metrics
The trace server interface is designed to be flexible and extensible. Custom fields can be added to attributes and summary without schema changes.